﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DatabaseExtension.Enums.OleDb
{
    /// <summary>
    /// Ole Db Data Provider
    /// </summary>
    public enum OleDbDataProvider
    {
        /// <summary>
        /// No data Provider has been selected. Will throw Exception.
        /// </summary>
        None,
        /// <summary>
        /// Use Microsoft.Jet.Oledb.4.0
        /// </summary>
        MicrosoftJet4,
        /// <summary>
        /// Use Microsoft.ACE.Oledb.12.0
        /// </summary>
        MicrosoftAce12
    }
    /// <summary>
    /// Enumeration of possible document types that can be managed by OLE DB extended properties.
    /// </summary>
    public enum OleDbDocumentType
    {
        /// <summary>
        /// No Document Type is given. Will throw exception.
        /// </summary>
        None,
        /// <summary>
        /// Use OleDb for Text
        /// </summary>
        Text,
        /// <summary>
        /// Read data from HTML Tables.
        /// </summary>
        HTML_Import,
        /// <summary>
        /// DBF / FoxPro data connection
        /// </summary>
        dBASE_IV
    }
    /// <summary>
    /// Provide format information for Extended Properties.
    /// <seealso cref="http://projectsmm.com/technet/ado/adoextprops.shtml"/>
    /// </summary>
    public enum OleDbFomatDelimiter
    {
        /// <summary>
        /// No delimeter has been selected.
        /// </summary>
        None,
        /// <summary>
        /// Each field of the file is "delimited". The default is a comma (,) 
        /// </summary>
        Delimited,
        /// <summary>
        /// Each field of the file is "delimited" by the value within the parentheses. Example of using a pipe charater: Delimited(|). 
        /// </summary>
        DelimitedByX,
        /// <summary>
        /// Each record/row in he file is formatted using QUOTED/Comma separated values.
        /// Example: "val1","val2","val3" 
        /// </summary>
        CSVDelimited,
        /// <summary>
        /// Each field in each record of the file is separated by a TAB character.
        /// Example: val1\tval2\tval3
        /// </summary>
        TabDelimited
    }
}
